package com.vae.service;


import com.vae.dto.CheckCodeParamsDto;
import com.vae.dto.CheckCodeResultDto;

public interface CheckCodeService {

    /**
     * 生成验证码
    */
     CheckCodeResultDto generate(CheckCodeParamsDto checkCodeParamsDto);

     /**
      * 校验验证码
     */
    boolean verify(String key, String code);

    /**
     * 验证码生成器
    */
    interface CheckCodeGenerator{
        String generate(int length);//验证码生成
    }

    /**
     * key生成器
     */
    interface KeyGenerator{
        String generate(String prefix);//key生成
    }

    /**
     * 把key存入redis
     */
    interface CheckCodeStore{
        void set(String key, String value, Integer expire);//
        String get(String key);
        void remove(String key);
    }
}